const express=require('express')
const app=express()

//【说明】 
// 请求——中间件——中间件——...——响应
// 本质上是一个函数
// 当处理函数含有next，说明是个中间件函数，否则是路由处理函数
// next是实现多个中间件连续调用的关键，表示把结果流转到下一个中间件或路由
// 【example】---------------------------------------------------------
// app.get('/',(req,res,next)=>{
//     next()
// })

// 定义中间件函数
const mw=(req,res,next)=>{
    console.log('中间件')
    next()
}

// 全局生效的中间件：任何请求都会触发该中间件函数。
// 通过use方法注册全局中间件，现在每次请求之前都会调用中间件函数，才会流转下一个路由
// 一定要调用next 否则无法流转给下一个
app.use(mw)

// 简写形式
app.use((req,res,next)=>{
    console.log('中间件')
    next()
})




app.get('/',(req,res)=>{
    res.send('/')
})

app.get('/user',(req,res)=>{
    res.send('/user')
})

app.listen(8080,()=>{
    console.log('你的服务器运行在：http://localhost:8080')
})